package org.openwork.portlet.skillmanagement.service;

import com.liferay.portal.kernel.annotation.Isolation;
import com.liferay.portal.kernel.annotation.Propagation;
import com.liferay.portal.kernel.annotation.Transactional;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;


/**
 * <a href="SkillUserLocalService.java.html"><b><i>View Source</i></b></a>
 *
 * <p>
 * ServiceBuilder generated this class. Modifications in this class will be
 * overwritten the next time is generated.
 * </p>
 *
 * <p>
 * This interface defines the service. The default implementation is
 * {@link
 * org.openwork.portlet.skillmanagement.service.impl.SkillUserLocalServiceImpl}}.
 * Modify methods in that class and rerun ServiceBuilder to populate this class
 * and all other generated classes.
 * </p>
 *
 * <p>
 * This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM.
 * </p>
 *
 * @author    Samuel Garcia Martinez
 * @see       SkillUserLocalServiceUtil
 * @generated
 */
@Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
    PortalException.class, SystemException.class}
)
public interface SkillUserLocalService {
    public org.openwork.portlet.skillmanagement.model.SkillUser addSkillUser(
        org.openwork.portlet.skillmanagement.model.SkillUser skillUser)
        throws com.liferay.portal.kernel.exception.SystemException;

    public org.openwork.portlet.skillmanagement.model.SkillUser createSkillUser(
        org.openwork.portlet.skillmanagement.service.persistence.SkillUserPK skillUserPK);

    public void deleteSkillUser(
        org.openwork.portlet.skillmanagement.service.persistence.SkillUserPK skillUserPK)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    public void deleteSkillUser(
        org.openwork.portlet.skillmanagement.model.SkillUser skillUser)
        throws com.liferay.portal.kernel.exception.SystemException;

    @SuppressWarnings("unchecked")
    public java.util.List dynamicQuery(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
        throws com.liferay.portal.kernel.exception.SystemException;

    @SuppressWarnings("unchecked")
    public java.util.List dynamicQuery(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
        int end) throws com.liferay.portal.kernel.exception.SystemException;

    @SuppressWarnings("unchecked")
    public java.util.List dynamicQuery(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
        int end,
        com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
        throws com.liferay.portal.kernel.exception.SystemException;

    public long dynamicQueryCount(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
        throws com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public org.openwork.portlet.skillmanagement.model.SkillUser getSkillUser(
        org.openwork.portlet.skillmanagement.service.persistence.SkillUserPK skillUserPK)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public java.util.List<org.openwork.portlet.skillmanagement.model.SkillUser> getSkillUsers(
        int start, int end)
        throws com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public int getSkillUsersCount()
        throws com.liferay.portal.kernel.exception.SystemException;

    public org.openwork.portlet.skillmanagement.model.SkillUser updateSkillUser(
        org.openwork.portlet.skillmanagement.model.SkillUser skillUser)
        throws com.liferay.portal.kernel.exception.SystemException;

    public org.openwork.portlet.skillmanagement.model.SkillUser updateSkillUser(
        org.openwork.portlet.skillmanagement.model.SkillUser skillUser,
        boolean merge)
        throws com.liferay.portal.kernel.exception.SystemException;

    public org.openwork.portlet.skillmanagement.model.SkillUser addSkillUser(
        long auditUserId, long userId, long skillId, short experience)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    public org.openwork.portlet.skillmanagement.model.SkillUser updateSkillUser(
        long auditUserId, long userId, long skillId, short experience)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public java.util.List<com.liferay.portal.model.User> searchBySkillIds(
        long[] ids)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public int searchCountBySkillIds(long[] ids)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public int searchCountByUserId(long userId)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public java.util.List<org.openwork.portlet.skillmanagement.model.SkillUser> searchByUserId(
        long userId, int start, int end,
        com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public java.util.List<org.openwork.portlet.skillmanagement.model.SkillUser> searchByUserId(
        long userId)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public int searchCountBySkillId(long skillId)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public java.util.List<org.openwork.portlet.skillmanagement.model.SkillUser> searchBySkillId(
        long skillId)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public java.util.List<org.openwork.portlet.skillmanagement.model.SkillUser> searchBySkillId(
        long skillId, int start, int end,
        com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public int searchCountBySkillId(long skillId, int value)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public java.util.List<org.openwork.portlet.skillmanagement.model.SkillUser> searchBySkillId(
        long skillId, int value, int start, int end,
        com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;
}
